package com.krui.iwebo.utils;

import weibo4android.Weibo;
import weibo4android.WeiboException;
import weibo4android.http.RequestToken;

/**
 * 
 * 
 * OAuth认证流程
 * 1.先通过weibo实例得到一个RequestToken，通过这个requestToken得到
 * 	 一个token跟一个TokenSecret备用。
 * 2.用这个requestToken得到一个认证授权的连接地址，重定向到一个webview中进行授权
 * 3.用requestToken.getAuthorizationURL重定向授权后，会得到一个pin值.
 * 4.用这个pin值作为参数，通过requestToken.getAcessToken(pin)得到accessToken
 * 5.我们需要保存的就是这个accessToken,通过这个accessToken得到token和tokenSecret.
 * 
 * 
 * 
 * @author krui
 *
 */

public class OAuthUtils {
	
	private static Weibo weibo;
	
	private static RequestToken requestToken;
	
	static
	{
		
		System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
		System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
		weibo = new Weibo();
	}

	
	
	/**
	 * 获取授权URL
	 * @return
	 */
	public static String getAuthorizationURL(){
		try {
			
			requestToken = weibo.getOAuthRequestToken();
			
			return requestToken.getAuthenticationURL();
			
		} catch (WeiboException e) {
			e.printStackTrace();
		}
		
		return null;
	}
	
	
	/**
	 * 获取 RequestToken
	 * @return
	 */
	public static RequestToken getRequestToken(){
		return requestToken;
	}
	
	
}
